תאריך פרסום: 11 בנובמבר 2024, תאריך עדכון אחרון: 20 במאי 2025
הסבר | פיתוח אתרים | תוספים | סטטוס Chrome | כוונת רכישה |
---|---|---|---|---|
MDN | תצוגה | כוונת משלוח |
אתם יכולים להציע למשתמשים את היכולת לסכם מאמרים ארוכים, מסמכים מורכבים או אפילו שיחות צ'אט תוססות לסיכומים תמציתיים ומועילים.
אפשר להשתמש ב-Summarizer API כדי ליצור סיכומים מסוגים שונים באורך ובפורמטים שונים, כמו משפטים, פסקאות, רשימות של נקודות ועוד. אנחנו מאמינים ש-API הזה שימושי בתרחישים הבאים:
- סיכום של הנקודות העיקריות במאמר או בשיחה בצ'אט.
- הצעות לשמות ולכותרות של מאמרים.
- יצירת סיכום תמציתי ומידעי של טקסט ארוך.
- יצירת טיזר לספר על סמך ביקורת על הספר.
שנתחיל?
Summarizer API זמין מ-גרסת Chrome 138 היציבה.
מריצים זיהוי תכונות כדי לבדוק אם הדפדפן תומך ב-Summarizer API.
if ('Summarizer' in self) {
// The Summarizer API is supported.
}
בדיקת דרישות החומרה
ה-API של גלאי השפות ו-Translator API פועלים במחשב רק ב-Chrome.
ממשקי Prompt API, Summarizer API, Writer API ו-Rewriter API פועלים ב-Chrome כשמתקיימים התנאים הבאים:
- מערכת הפעלה: Windows 10 או 11, macOS מגרסה 13 ואילך (Ventura ואילך) או Linux. עדיין אין תמיכה ב-Chrome ל-Android, ל-iOS ול-ChromeOS בממשקי ה-API שלנו שמבוססים על Gemini Nano.
- אחסון: נפח אחסון של 22GB לפחות בנפח האחסון שמכיל את פרופיל Chrome שלכם.
- GPU: יותר מ-4GB של VRAM.
- רשת: נתונים ללא הגבלה או חיבור ללא חיוב לפי נפח.
הדרישות האלה קיימות עבורכם בתהליך הפיתוח ועבור המשתמשים שלכם שעובדים עם התכונות שאתם מפתחים.
הורדת המודל
ב-Summarizer API נעשה שימוש במודל שאומן ליצור סיכומים באיכות גבוהה. ממשק ה-API מובנה ב-Chrome, וג'מיני ננו הוא המודל שיורד בפעם הראשונה שבה אתר משתמש ב-API הזה.
כדי לבדוק אם המודל מוכן לשימוש, צריך להפעיל את הפונקציה Summarizer.availability()
האסינכרונית. הפונקציה מחזירה הבטחה עם הערכים הבאים.
- הערך
"unavailable"
מציין שההטמעה לא תומכת באפשרויות המבוקשות. - הערך
"downloadable"
מציין שההטמעה תומכת באפשרויות המבוקשות, אבל קודם הדפדפן צריך להוריד משהו, כמו מודל (במקרה של Chrome, Gemini Nano) או שיפור של המודל. - הערך
"downloading"
מציין שההטמעה תומכת באפשרויות המבוקשות, אבל צריך לסיים הורדה מתמשכת לפני שאפשר להמשיך. - הערך
"available"
מציין שההטמעה תומכת באפשרויות המבוקשות, ואפשר להמשיך בתהליך הסיכום.
כדי להפעיל את הורדת המודל וליצור את הכלי ליצירת סיכומים, צריך לבצע קריאה לפונקציה Summarizer.create()
האסינכרונית. אם התשובה להפעלת availability()
היא downloadable
או downloading
, מומלץ להאזין להתקדמות ההורדה. כך תוכלו להודיע למשתמש ולציין שההורדה עשויה להימשך זמן מה לפני שהסיכום יוכל להתבצע.
const summarizer = await Summarizer.create({
monitor(m) {
m.addEventListener('downloadprogress', (e) => {
console.log(`Downloaded ${e.loaded * 100}%`);
});
}
});
פונקציות API
הפונקציה create()
מאפשרת להגדיר אובייקט חדש של סיכום בהתאם לצרכים שלכם. הפונקציה מקבלת אובייקט options
אופציונלי עם הפרמטרים הבאים:
sharedContext
: הקשר נוסף ששותף ויכול לעזור לכלי ליצירת סיכומים.type
: סוג הסיכום, עם הערכים המותריםkey-points
(ברירת המחדל),tldr
,teaser
ו-headline
. פרטים נוספים מופיעים בטבלה הבאה.format
: הפורמט של הסיכום, עם הערכים המותריםmarkdown
(ברירת המחדל) ו-plain-text
.length
: אורך הסיכום, עם הערכים המותריםshort
,medium
(ברירת המחדל) ו-long
. המשמעויות של האורך משתנות בהתאם ל-type
המבוקש. לדוגמה, בהטמעה של Chrome, סיכום קצר של נקודות עיקריות מורכב משלושה תבליטים, וסיכום קצר הוא משפט אחד.
אי אפשר לשנות את הפרמטרים אחרי שמגדירים אותם. אם צריך לבצע שינויים בפרמטרים, יוצרים אובייקט חדש של סיכום.
בטבלה הבאה מוצגים הסוגים השונים של הסיכומים והאורכים המתאימים שלהם. האורך מייצג את הערך המקסימלי האפשרי, כי לפעמים התוצאות יכולות להיות קצרות יותר.
סוג | משמעות | אורך | ||||||
---|---|---|---|---|---|---|---|---|
"tldr" |
הסיכום צריך להיות קצר ולעניין, לספק סקירה כללית מהירה של הקלט ולהתאים לקורא עסוק. |
|
||||||
"teaser" |
הסיכום צריך להתמקד בחלקים הכי מעניינים או מרתקים של הקלט, כדי לעודד את הקוראים לקרוא עוד. |
|
||||||
"key-points" |
בסיכום צריך להציג את הנקודות החשובות ביותר מהקלט, כרשימה עם תיבות סימון. |
|
||||||
"headline" |
הסיכום צריך להכיל את הנקודה העיקרית של הקלט במשפט אחד, בפורמט של כותרת כתבה. |
|
הדוגמה הבאה ממחישה איך מאתחלים את הסיכום.
const options = {
sharedContext: 'This is a scientific article',
type: 'key-points',
format: 'markdown',
length: 'medium',
};
const availability = await Summarizer.availability();
let summarizer;
if (availability === 'unavailable') {
// The Summarizer API isn't usable.
return;
}
if (availability === 'available') {
// The Summarizer API can be used immediately .
summarizer = await Summarizer.create(options);
} else {
// The Summarizer API can be used after the model is downloaded.
summarizer = await Summarizer.create(options);
summarizer.addEventListener('downloadprogress', (e) => {
console.log(`Downloaded ${e.loaded * 100}%`);
});
await summarizer.ready;
}
הרצת הסיכום
יש שתי דרכים להריץ את הכלי לסיכום: סטרימינג ואצווה (לא סטרימינג).
סיכום של נתונים באצווה
כשמשתמשים בסיכום באצווה, המודל מעבד את הקלט כמכלול ואז יוצר את הפלט.
כדי לקבל סיכום של קבוצה, קוראים לפונקציה summarize()
. הארגומנט הראשון הוא הטקסט שרוצים לסכם. הארגומנט השני, האופציונלי, הוא אובייקט עם השדה context
. בשדה הזה אפשר להוסיף פרטי רקע שעשויים לשפר את הסיכום.
const longText = document.querySelector('article').innerHTML;
const summary = await summarizer.summarize(longText, {
context: 'This article is intended for a tech-savvy audience.',
});
סיכום של סטרימינג
סיכום בסטרימינג מציג תוצאות בזמן אמת.
הפלט מתעדכן באופן רציף ככל שמוסיפים ומתאימים את הקלט. כדי לקבל סיכום של סטרימינג, צריך להפעיל את הפקודה summarizeStreaming()
במקום summarize()
.
const longText = document.querySelector('article').innerHTML;
const summary = await summarizer.summarizeStreaming(longText, {
context: 'This article is intended for junior developers.',
});
הדגמה (דמו)
אתם יכולים לנסות את Summarizer API במגרש המשחקים של Summarizer API.
מאמץ סטנדרטיזציה
אנחנו פועלים כדי לסטנדרט את Summarizer API, כדי להבטיח תאימות לדפדפנים שונים.
הצעת ה-API שלנו קיבלה תמיכה מהקהילה והועברה לW3C Web Incubator Community Group להמשך דיון. צוות Chrome ביקש משוב מקבוצת הארכיטקטורה הטכנית של W3C, וביקש מ-Mozilla ומ-WebKit את עמדותיהם בנושא התקנים.
כדי להשתתף במאמץ ליצירת התקנים, אתם יכולים להצטרף לקבוצת הקהילה של Web Incubator.
מתן משוב
אנחנו רוצים לראות מה אתם יוצרים באמצעות Summarizer API. אתם יכולים לשתף איתנו את האתרים ואת אפליקציות האינטרנט שלכם ב-X, ב-YouTube וב-LinkedIn.
כדי לשלוח משוב על ההטמעה ב-Chrome, אפשר לשלוח דיווח על באג או בקשה להוספת תכונה.